SQL 全称是 Structureed query language 结构化查询语言
首先讲一下 数据库和数据表外围的操作
1.显示数据库: show databases;
2.创建数据库 create 数据库名称;
3.切换数据库:use 数据库名称 ;
4.显示所有数据表:show tables ;
5.查看数据表: desc 表名称;
分为三类:
DDL 数据定义语言 DML 数据操作语言 DCL 数据控制语言
一、DDL 数据定义语言
共有四个关键字 : create 创建 alter 更改 drop 删除 truncate 截断
四个关键字都是对表的 属性定义操作,不是数据库,也不是对表中的 内容,要区分开。
1.创建表 create table 表名称 (字段名 字段属性,字段名 属性·······)
如:CREATE TABLE student (NAME VARCHAR(10) ,age INT,score INT)
成功创建一个名为 student的表
如果要新建一张表 并且把其他表的数据数据复制过来 可以这样: create 表名 as select *from 表名 *号可以换成你想要复制的字段 *代表所有
2.alter 修改表的字段 注意是字段 而不是表中的数据 !!! 修改表中的数据需要用到后面的DML语言
修改字段属性 有统一的格式 :alter table 表名 +操作
a.alter table 表名 add 字段名 属性 注意 alter table+表名 不要忘了table add后面的语句不需要括号 字段和属性值之间只要空格
如:ALTER TABLE student ADD teacher VARCHAR(10); 给上一步的创建的表中 加了一个字段
b. modify 字段名 属性 更改字段类型
如:ALTER TABLE student MODIFY teacher VARCHAR (12); 把上一步创建的teacher字段 类型值改为12了。
c.drop 字段名 删除一个字段
如:ALTER TABLE student DROP teacher 删除上一步中创建的teacher 字段
d. alter table 表名 change 旧字段名 新字段名 属性 更改字段的名称和属性 区别modify modify只能更改属性 不能改名称 这个格式有所变化 ,,一定要注意
如:ALTER TABLE student CHANGE score fenshu INT(4) 把上表中的字段score 改成fenshu
e.rename to 新表名 更改表的名称
如 :ALTER TABLE student RENAME TO stu 把上表名称改为stu
3. drop 删除表 语法为:drop table 表名称
如:DROP TABLE stu 删除上面创建的stu表
4.truncate 删除表中所有的数据 但是 不改变原来的表结构
如:删除上表的数据 但保留了原来的结构 TRUNCATE TABLE student
总结 DDL语言 的四个关键字 使用时候的 基本格式都是 关键字 +table +表名+操作
二、DML 数据操作语言
共有四个关键字 : 插入 insert 删除 delete 更新 update 查询select
1、insert 插入 insert 【into】表名 (字段名1,字段2 ,····)vlaues ( 值1,值2 ,,,,,,) 说明这里的值和字段一定要一一对应,如果说添加的
如:INSERT student VALUES('leig',12,85)
这里省略了 into 和字段 默认添加所有的字段
对于含可空字段、非空但是含有默认值的字段、自增字段,可以不用在 insert 后的字段列表
里面出现,values 后面只写对应字段名称的 value,这些没写的字段可以自动设置为 NULL、
默认值、自增的下一个数字,这样在某些情况下可以大大缩短 SQL 语句的复杂性。
2.delete 删除
delete from 表名 where 从句
DELETE FROM car WHERE id=2
3.update 更新 (注意不要写成updata)
update 表名 set 字段名=值 where 从句 (注意在表名不需要from)
UPDATE car SET cat_color='红色' WHERE id=3
4.select 查询
Select * from 表名 (*表示查询所有字段)
select 字段1,字段2 from 表名 (自定义要查询的字段)
附上:一些MySQL提示符:
\d: 完整的日期
\d:当前数据库
\h: 服务器名称
\u :当前用户