1.开启服务器python
··windows系统:mysql
方法1.搜索服务,找到mysql并开启.sql
方法2.若是安装的是5.7版本,cmd中输入:数据库
net start MySQL57
··Mac系统:windows
系统偏好设置开启mysql,而后命令行运行如下代码出现base字样便可:bash
source .bash_profile
2.链接服务器: 服务器
mysql -uroot -p密码
3.修改登陆密码:工具
set password for root@localhost = password("新密码"); 好比:set password for root@localhost = password("abcd");
4.离开服务器spa
exit;
注意:mysql语句在命令行操做必定要加分号,在navicat软件中能够不加分号,在mycli中也可不加。命令行
1.查看全部数据库:
show databases;
2.新建数据库:
(注意不能重名,由字母 数字 下划线 @ #$组成,首字母不能是下划线和$ ,不能有空格和其余特殊字符。而且最好指明数据库的格式,如下为5.7版本通用格式,以避免后期维护。)
create database 库名;
create database 库名 charset utf8mb4 collate utf8mb4_general_ci;
3.查看数据库语句:
show create database 库名;
4.进入数据库:
use 库名;
5.删库(要谨慎):
drop database 库名;
1.查看全部表
show tables;
2.建表
create table 表名字(列名 数据类型, ... ) charset=utf8;
3.查看建表语句
show create table 表名;
4.以表格方式查看表
describe 表名; 或 desc 表名;
5.删表
drop table 表名;
int unisgned指明无符号
TINYINT
(1个字节)SMALLINT
(2个字节)MEDIUMINT
(3个字节)INT
和INTEGER
(4个字节)BIGINT
(8个字节)
FLOAT(4字节 适合小于10位)
DOUBLE(8字节 适合大于10位)
DATE (4字节 如表示年月日)
DATETIME (8字节 如表示年月日时分秒)
TIMESTAMP (若是常常插入或者更新日期为当前系统日期,或者全球化系统 ,最小值时间戳为19700101000001)
TIME (3字节 如只需时分秒)
YEAR (1字节)
CHAR(M) :M字节数为最大字节数 0~255之间
VARCHAR(M):字符串长度常常变化用varchar 0~65535之间
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
检索效率:char>varchar>text
char:存储定长数据很方便,CHAR字段上的索引效率级高,必须在括号里定义长度,能够有默认值,好比定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间(自动用空格填充).
varchar:存储变长数据,但存储效率没有CHAR高,必须在括号里定义长度,能够有默认值。保存数据的时候,不进行空格自动填充,并且若是数据存在空格时,当值保存和检索时尾部的空格仍会保留。另外,varchar类型的实际长度是它的值的实际长度+1,这一个字节用于保存实际使用了多大的长度。
text:存储可变长度的非Unicode数据,最大长度为2^31‐1个字符。text列不能有默认值,存储或检索过程当中,不存在大小写转换,后面若是指定长度,不会报错误,可是这个长度是不起做用的,意思就是你插入数据的时候,超过你指定的长度仍是能够正常插入。
结论:
·常常变化的字段用varchar
·知道固定长度的用char, 如身份证
·能用varchar的地方不用text
·能用数字类型字段的尽可能用数字类型而不是字符型,由于字符型每次都逐个比较,数值型只比较一次就够了
有:NULL / NOT NULL ,default , primary key , unique key , atuo_increment , comment
1. NULL:空属性很重要,空数据没有意义
2. default:默认值
3. primary key:主键,一张表只能有1个主键,不能重复,惟一,能够是复合主键
··添加主键:
create table 表名(id int primary key comment "用户id",..); create table 表名(... ,primary key(user_id,article_id));
··追加主键:
alter table 表名 add primary key(user_id,article_id);
··删除主键:
alter table 表名 drop primary key;
4. unique key:惟一值容许自动为空,添加跟追加用法与主键同样
5. atuo_increment :自增加,前提自身是一个索引,一张表只能有一个自增加:
create table 表名(id int primary key auto_increment comment "用户id",..);
6. comment:列描述没有实际含义,只是方便了解。
pip install mycli mycli -uroot -p密码
后面操做跟mysql是同样,优势在于mycli使用时有提示,相对方便。