常用命令及设置
// ~/.zshrc
#mysql ================================
alias mysql='/usr/local/mysql/bin/mysql'
alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
alias start='sudo /usr/local/mysql/support-files/mysql.server start'
alias stop='sudo /usr/local/mysql/support-files/mysql.server stop'
alias restart='sudo /usr/local/mysql/support-files/mysql.server restart'
show databases;
显示所有数据库create dbname
创建数据库use <数据库名>
打开某数据库create tbname(column_name data_type,...)
创建数据表show create tbname;
查看创建的数据表输入的命令select database()
选择数据表show tables
显示数据表show columns from tbname
显示数据表结构insert tbname(...) values(...)
插入数据select ... from tbname
显示数据表中的所有记录show indexes from tbname\G
显示数据表中的索引(树状显示)delete from tbname where...
删除记录
修改数据表
alter table tbname add (column_name data_type) after/before (column_name)
添加单列数据alter table tbname drop column_name1 , drop column_name2…
删除表中列alter table tb_name modify ...first/before
修改列定义(数据类型及位置)
特殊字符及各项约束
-
signed / unsigned
有无符号 (+ /-) -
null / not null
空 / 非空 -
auto_increment
唯一自增,必须与主键配合使用 -
primary key
主键约束,一张数据表只能存在一个主键,保证记录唯一性,会自动创建索引 -
unique key
唯一约束,一张数据表可以存在多个 -
default
默认值设定,插入数据如果为空,则默认设定默认值 -
foreign key
外键约束,字表设置外键时,外键列与父表参照列数据属性需要一致,存储引擎只能为InnoDB,外键列和参照列必须创建索引,外键的pid对应着父表的参照列中的id// 父表 id 参照列 create table provinces( id samllint unsigned primary key auto_increment, pname varchar(20) not null ); //字表 pid 外键列 create table users( id samllint unsigned primary key auto_increment, username varchar(20) not null, // 保证数据类型与参照列一致 pid smallint unsigned, // foreign key (pid) references provinces (id) on delete cascade )
- cascade 从父表中删除或更新且自动删除或更新子表外键中对应的行
- set null 从父表中删除或更新且自动设置子表外键为null
- restrict 拒绝对父表的更新或删除操作
- not action 与restrict相同
记录操作
- 插入记录
insert into tb_name