Mysql

常用语法

Mysql -hlocalhost -uroot -p密码#登陆
CREATE TABLE tbl_name;#创建数据表
SHOW TABLES;#显示当前数据库中所有的数据表
SHOW CREATE TABLE tbl_name;#显示某个数据表
SHOW COLUMNS FROM tbl_name;#查看数据表结构
SHOW INDEXES FROM tbl_name#查看数据表索引
INSERT tbl_name[(col_name,...)] VALUES("val",...);#插入记录,主义values为字符串时要加双引号
DELETE FROM tbl_name where 条件#删除记录
TRUNCATE TALBE tbl_name;#删除数据表中的所有记录
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci#设置数据库字符集和数据库校对规则
c:>mysqldump -h localhost -u root -p mydb mytable>e:\mysql\mytable.sql#数据库中某个数据表的导出
SELECT expr,... FROM tbl_name;#列出数据表中的字段
eg:

select * from teachers;

修改数据表的列

ALTER TABLE tbl_name ADD col_name column_definition [FIRST | AFTER col_name]#添加单列
ALTER TABLE tbl_name ADD (col_name column_definition,...)#添加多列
ALTER TABLE tbl_name DROP col_name#删除列
eg:

alter table test drop t1,drop t2;

修改数据表约束

ALTER TABLE tbl_name ADD PRIMARY KEY (col_name,...);#添加主键约束
ALTER TABLE tbl_name DROP PRIMARY KEY;#删除主键约束
ALTER TABLE tbl_name ADD UNIQUE KEY (col_name,...)#添加唯一约束
ALTER TABLE tbl_name DROP INDEX index_name;#删除唯一约束
ALTER TABLE tbl_name ADD FOREIGN KEY (col_name) REFERENCES tbl_name (col_name)#添加外键约束
ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol#删除外键约束(最后为外键名称)
ALTER TABLE tbl_name ALTER col_name {SET DEFAULT literal | DROP DEFAULT};#添加/删除默认约束

修改数据表

ALTER TABLE tbl_name MODIFY col_name column_definition [FIRST | AFTER col_name]#修改列定义(指数据结构)或位置
ALTER TABLE tbl_name CHANGE old_col_name new_col_name column_definition [FIRST | AFTER col_name]#修改列名称
ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name#数据表更名方法1
RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ...#数据表更名方法2

属性

NULL \ NOT NULL#字段值可以为空 \ 禁止为空(非空约束)
eg:

create table tb1(username varchar(20) not null);

AUTO_INCREMENT#自动编号,必须为数值型,必须与主键组合使用,无需赋值
PRIMARY KEY \ KEY#主键约束(主键值不能重复,不能为空)
UNIQUE KEY#唯一约束(不能重复,可以为空,在一张表中可以存在多个)
DEFAULT#默认约束(设定默认值)

外键约束

ALTER TABLE yourtablename ADD [CONSTRAINT 外键名] FOREIGN KEY [id] (index_col_name, ...) REFERENCES tbl_name (index_col_name, ...) #添加外键约束
FOREIGN KEY(col_name1) REFERENCES tb_father (col_name2)#外键约束
SHOW INDEXES FROM tbl_name;#显示数据表的索引(若外键列不存在索引则系统将自动创建)

外键约束的参照操作

  • CASCADE:子表跟随父表的删除或更新
  • SET NULL:父表删除或更新时子表置空(子表列不能为NOT NULL)
  • RESTRICT:拒绝对父表的删除或更新操作
  • NO ACTION:标准SQL的关键字,在Mysql中和RESTRICT相同

常用显示语法

show create table
select * from tb_name
show columns from tb_name

你可能感兴趣的:(Mysql)