MySQL数据库语法
1):创建一个数据库
create database 数据库名;
2):删除一个数据库
drop database 数据库名;
主键约束: 保证实体完整性
CREATE TABLE `users` (
`user_qq` varchar(20) NOT NULL,
`user_qq` varchar(20) NOT NULL,
`user_name` varchar(50) NOT NULL,
`user_sex` char(2) NOT NULL,
`user_birthday` date NOT NULL,
`user_mobile` char(11) NOT NULL,
PRIMARY KEY (`user_qq`) ---->为user_qq字段添加主键约束
)
外键约束: 保证引用完整性
CREATE TABLE scores (
user_qq VARCHAR (20) NOT NULL REFERENCES users (user_qq),--->使用references关键字
gno INT NOT NULL REFERENCES games (gno)
)
检查约束: 保证域完整性
create table games(
gno int not null CHECK(gno>0),---->使用check关键字
gname varchar(50) not null,
gtype varchar(20) not null
)
默认约束: 保证域完整性
CREATE TABLE users (
user_qq VARCHAR (20) NOT NULL PRIMARY KEY,
user_qq VARCHAR (20) NOT NULL,
user_name VARCHAR (50) NOT NULL,
user_sex CHAR (2) NOT NULL DEFAULT '男',---->使用default关键字
user_birthday date NOT NULL,
user_mobile CHAR (11) NOT NULL,
)
自增列: 保证实体完整性
CREATE TABLE games (
gno INT NOT NULL auto_increment,---->使用auto_increment关键字
gname VARCHAR (50) NOT NULL,
gtype VARCHAR (20) NOT NULL
)
查看表结构:
语法:desc users[表名]
修改表名:
语法:alter table old_name[旧表名] rename to new_name[新表名]
修改字段名:
语法:alter table table_name[表名] change old_name[旧字段名] new_name[新字段名] new_type[新字段类型]
修改字段类型:
语法:alter table table_name[表名] modify col_name[需要的字段名] new_type[新类型]
添加字段:
语法:alter table table_name[表名] add new_col_name[添加字段的名称] new_type[类型]
删除字段:
语法:alter table table_name[表名] drop col_name[需删除字段的名称]
增补约束:
添加主键约束:
语法:alter table table_name[表名] add constraint con_name[添加约束名] primary key(col_name[添加主键约束的字段])
添加外键约束:
语法:alter table table_name[表名] add constraint con_name[添加约束名] foreign key(f_col[添加到哪个字段]) references m_table[引用于哪张表](m_col[哪张表的哪个字段])
添加检查约束:
语法:alter table table_name[表名] add constraint con_name[添加约束名] check(exp[检查约束表达式])
添加默认约束:
语法:alter table table_name[表名] alter col_name[需要添加约束的字段名] set default value[值]
删除无关联数据表:
语法:drop table table_name1[需删除的表1],table_name2[需删除的表2]...
删除有关联的数据表:
先解除关联关系:
语法:alter table f_table_name[从表的名称] drop foreign key con_name[约束的名称]
删除主表:
语法:drop table table_name1[需删除的表1],table_name2[需删除的表2]...
为所有列都插入值:
语法:insert into table_name[需要插入值的表名] values(v1,v2,v3...vn)
为特定列插入值:
语法:insert into table_name[需要插入值的表名](col1[列名1],col2[列名2]...coln[列名n]) values(v1,v2...vn)
一次性插入多条记录:
语法:insert into table_name[需要插入值的表名](col1[列名1],col2[列名2]...coln[列名n]) values(v1,v2...vn),(v11,v22...vnn),....
修改全部数据:
语法:update table_name[要修改的表名] set col_name[要修改的列名]=expression[要修改的值表达式]
使用delete命令删除数据:
语法:delete from table_name[要操作的表名] where condition_expression[符合这种条件的数据]
简单查询:
查询表的所有行和列:
语法:select * from table_name[表名]
查询表的部分列:
语法:select lie_name[所要查询的列名] from table_name[表名]
别名的使用:
语法:select lie_name[所要查询的列名] as'别名' from table_name[表名]
条件查询:
普通条件查询:
语法:select lie_name[所要查询的列名] from table_name[表名] where condition_expression[符合这种条件的数据]
对指定列排序:
语法:select lie_name[所要查询的列名] from table_name[表名] order by by_list[要排序的列名] asc ----->升序排列
select lie_name[所要查询的列名] from table_name[表名] order by by_list[要排序的列名] desc ----->降序排列。