我的学习之路_第十八章_SQL语句

来源:互联网 发布:管家婆软件客户端 编辑:程序博客网 时间:2024/05/16 11:38


SQL语句
启动数据库: net start mysql关闭数据库: net stop mysql


登录数据库 : cmd-->命令行-->mysql-->mysql  -u账号 -p密码


【创建和删除数据库】


使用关键字 : create(创建) database(数据库)


格式: create database 数据库名;

      create database 数据库名 character set 字符集;


●--查看mysql中所有的数据库


show database;


●--查看某个数据库的定义的信息


show create database 数据库名;


●--切换数据库 


use 数据库名;


●--查看正在使用的数据库


select database();


●--删除数据库


drop database 数据库名;




【创建表的SQL语句】


创建数据库表,使用关键字 create(创建) table(表)
[] : 数据库中是可选的意思,可以有,可以没有


格式:
create table 表名(
字段名 数据类型[长度] [约束],
字段名 数据类型[长度] [约束],
...
字段名 数据类型[长度] [约束](最后一个不能有逗号)
);


主键约束: primary key     字段不能为null,不能重复






●--查看当前数据库中所有的表


show table;


●--查看表结构


desc 表名 ;


●--删除表


drop table 表名 ;


【修改表结构格式】


关键字 : alter(修改)modify(更改)  change(改变)


●--修改表添加列


alter table 表名 add 列名 类型[长度] [约束];


●--修改表修改列的类型长度及约束


alter table 表名 modify 列名 类型[长度] [约束];


注意:如果有数据,必须注意数据类型  varchar --> int 容易有错误数据


●--修改列名以及数据类型和约束


alter table 表名 change 原列名 新列名 类型[长度] [约束];


●--删除列


alter table 表名 drop 列名;


注意:如果列中有数据,数据就会一起删除了,需谨慎


●--修改表名


rename table 表名 to 新表名;


●--修改表的字符集


alter table 表名 character set 字符集;


注意:不建议执行,有可能会产生乱码


【插入表数据】


使用关键字 : insert(插入) [into]


 格式:
包含主键:insert into 表名(字段1,字段2...) values(值1,值2...);
主键自增,省略主键: insert into 表名(不包含主键) values (不包含主键);


 注意事项:
1.字段和值一定要一一对应(个数,数据类型)
2.除了数值类型(int ,double)其他的数据类型都需要使用引号包裹起来
可以使用双引号,也可以使用单引号,推荐使用单引号


●--包含主键


insert into 表名(字段1,字段2...) value(值1,值2...);


●--创建表,主键自增 auto_increment(主键自己添加,自己增长)


create table 表名(

字段 数据类型[长度] primary key auto_increment,
字段 数据类型[长度][约束],
...
);


●--主键自增,省略主键: 


insert into 表名(不包含主键) values (不包含主键);


●--批量插入数据


 格式:
包含主键: insert into 表名(字段1,字段2...) values (值1,值2...)
主键自增,省略主键: insert into 表名 (不包含主键) values (不包含主键),(值1,值2...)


●--省略字段名格式:必须给出全部字段的值(包含主键)


 格式:
insert into 表名 values(全部字段的值);
insert into 表名 values(全部字段的值),(全部字段的值)...


●--记不住主键,可以使用null,sql会自动计算主键


insert into 表名 values(null,字段);


【更新表数据】


使用关键字: update(更新) set(设置)
 格式:
不带条件过滤,一次修改列中所有的数据(慎用)

update 表名 set 字段名=字段值,字段名=字段值...


带条件过滤,使用关键字 where


update 表名 set 字段名=字段值.字段名=字段值...where 过滤的条件


【删除表数据】


使用关键字 : delete(删除) from(来自)


 格式:
delete from 表名  [where 过滤条件]


delete from 表名  : 删除标作用的所有数据,但是不会删除主键自增


truncate table 表名 : 删除表中的所有数据,会删除主键自增,让主键自增重置,从1开始


【主键约束】


使用关键字 : primary 可以 
 作用:
约束主键列不能为null
不能重复
每一个表必须有一个主键,且只能有一个主键
主键不能使用业务数据


●--添加主键的第一种方式,在列名之后直接添加(创建表的时候直接添加)


●--添加主键的第二种方式,使用constraint区域


[constraint 名称] primary key (字段列表);


如果不给出主键的名字,可以省略关键字 constraint


●--添加主键的第三种方式,创建表之后,通过修改表结构,添加主键


alter table 表名 add [constraint 名称] primary key (字段列表);


●--删除主键


alter table 表名 drop primary key ;


●--联合主键 : 使用2个以上的字段为主键


create table 表名(
字段 数据类型[长度],
字段 数据类型[长度],
...
primary key(字段, 字段)
);


【非空约束】


使用关键字 : not null


作用:强制约束某一列不能为null(不接受null值)


●--创建非空约束第一种格式,创建表时,在字段后面直接给出


字段 数据类型[长度] not null ; 


●--创建非空约束第二种格式,修改表结构


alter table 表名 modify 列名 数据类型[长度] [约束];


●--删除非空约束


alter table 表名 modify 列名 数据类型[长度];


【唯一约束】


使用关键子: unique


 作用:添加了唯一约束的字段,不能重复


●--创建唯一约束的第一种格式,创建表时,在字段后直接给出


字段 数据类型[长度] unique ; 


●--创建唯一约束的第二种格式,创建表时使用 [constraint 名称] unique (字段列表)


create table 表名(


字段1 数据类型[长度],
字段2 数据类型[长度],
...
constraint unique(字段2)


);


●--创建唯一约束的第三种格式,创建表之后,修改表数据


alter table 表名 modify 列名 类型[长度] unique ;


●--删除唯一约束


alter table 表名 drop index 名称 
定义约束的时候,如果没有创建名称,则名称为字符串(字段),如果创建了名称,就写创建时的名称


【默认约束】


给字段添加一个默认值,如果字段没有插入值,则使用默认值


使用关键字: default 值


●--创建默认约束方式一,创建表,列数据类型后面 default '默认值'


●--创建默认约束方式二,修改表结构


alter table 表名 modify 列名 数据类型[长度] default '默认值' ; 


●--删除默认约束


alter table 表名 modify 列名 数据类型[长度] ; 
原创粉丝点击