以下内容均以MYSQL上可以运行的语句为主
但是SQL语句是通用的
1.注释
单行注释:-- 注释内容 或 # 注释内容(mysql特有)
多行注释:/* 注释内容 */
2.SQL的分类
大体上分为四类
1)DDL:用来定义诸如 数据库 表 列等 相关的关键字有create drop alter等
2)DML:用来对数据库中的数据进行增删改 相关的关键字有insert delete update等
3)DQL:用来查询数据库中表的记录(数据) 相关的关键字有select where等
4)DCL:数据库中的控制语言 怎么说呢 与访问权限相关 相关的关键字有GRANT,REVOKE等
3.DDL
1.操作数据库:CRUD
1)C:创建
create database db1;
创建db1
create database if not exists db2;
没有db2创建db2,有的话也不会报错
数据库创建后 默认字符集是UTF-8
可以使用下列语句
create database db3 character set gbk;
创建一个字符集为gbk的db4
create database if not exists db4 character set gbk;
这一句就不多说了
2)R:查询
查询所有数据库名称
show databases; (小心这个S)
查询某个数据库的创建语句(个人感觉比较方便,忘了就在MySQL的命令行里面敲一敲,就知道那句话有什么用了)
show create database 数据库名称;
3)U:修改
修改数据库的字符集
alter database 数据库名称 character set 目标字符集
4)D:删除
删除数据库
drop database 数据库名称
比如 我把db1删除了 别人不知道 又使用上列语句 肯定会报错
但是用下列语句的话就没事了
drop database if exists 数据库名称
5)使用数据库
使用数据库
use db1;
这句将使用的数据库转为db1;
查询当前使用的数据库
select database();
这个时候再用这句话 就会显示你在使用db1了
2.操作表:CRUD
1)C:创建
create table 表名(
列名 数据类型1,
第二列名 数据类型2,
……,
列名n 数据类型n
);
数据库数据类型
这里只记几个特殊的
timestamp:时间戳类型 和 datetime类型一样
只是要是不给这个字段赋值的话 或者赋值为NULL
就默认使用当前系统时间,来自动赋值
创建表
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
唔不想写了 这段太无聊了