一.SQL语言基础
1) 关于database的库操作
1.show databases; 可以用来显示所有库名,如果要显示特定的库,可以使用show databases like ' ……' ; 引号中使用通配符来进行对内容的删选,通配符起代替其他字符作用,相当于省略号,常用的通配符有 % 和 _ 两种,其中%可以代替一个或多个字符,包括空字符,而 _ 只能代替一个字符且不能是空字符。例如对于名字为 test 的库,可以用' %t ' , ' t% ' , ' %test% ' , '_est ' , ' t_s_ ' 这些通配符查找到,但是'_test_'是不可以的,因为_不能代替空字符,另外值得注意的是库名是大小写敏感的。
2.
show create database 数据库名 ; 可以用来看某个库的创建信息,包括所用的字符集等等。
3.
create database 数据库名; 可以用来创建数据库,库名由英文数字下划线组成,不需要写在引号里。如果这个库已经存在,这样写就会报错,这时可以使用
create database if not exists 库名 ; 来写,这样即时库存在也不会报错,只会报一个警告。另外尽量不要用保留字作为库名,一定要用库名时需要用反引号包裹起来,如create database `match`; 。
如果要制定库的字符集,可以用
create database 库名 default charset = 字符集名 ;来写,字符集名为utf8或gbk,如果不指定字符集,则默认字符集为服务器的字符集,即为安装mysql时选择的那个字符集。
4.
alter database 库名 选项 ; 来修改数据库,库的选项只有字符集和配对方式,它们保存在数据库文件中的db.opt 文件中,一般只改字符集,系统自动进行配对,如
create database 库名 default charset = gbk ; 即可修改库的字符集。
5.
drop database if exists 库名 ; 用来删除数据库,没有这个库会报警告,如果不加 if exists且没有这个库的话就会报错。删除要慎重,一旦删除的话库的所有信息全部销毁。
2) 关于table的表操作
1.要创建表,先要
use 库名 ; 来选定某个数据库,然后用
create table 表名 ( 字段定义 ) ;来创建表,如
create table st_info (st_id int , st_name varchar(20) ); 即可创建一个表。
2.查看表名,同样先要选定是哪个库,使用
show tables; 查看所有表,也可以用
show table like '……' ;使用通配符查看特定表,和库的查看是相同的,同样也可以
show create table 表名 ; 查看表的创建信息,或者在最后加 \G 逐行显示,不加分号。
3.
desc 表名; 或者
describe 表名;或者
show columns from 库名 . 表名; 来查看表结构,包括字段类型,主key等等。
4. 关于对字段的修改:
alter table 表名 modify 更改字段属性; 来实现对字段的属性进行修改,如
alter table st_info modify st_name varchar(40); 或使用chang来修改字段名,
alter table 表名 change 旧字段名 新字段名 字段属性;来达到改字段名的目的;还可以通过
alter table 表名 add 新字段名 char(1) after 某个字段; 来添加一个新字段;或者通过
alter table 表名 drop 字段名; 来删除某个字段。
5.复制表结构:
create table 新表名 like 被复制的表名; 可以一个表为模版复制出一个新的表,只有表结构是相同的,新表里是没有内容,如果想要新表中内容也相同,可以用
create table 新表名 select * from 被复制的表名; 即可连同数据一同复制到新表中。
6.更改表名:
rename table 旧表名 to 新表名; 也可以使用rename来交换表名:
rename table a to t ,b to a, t to b;
7.删除表:
drop table if exists 表名;
3) 关于数据的操作
1.插入数据:插入数据有三种方式,第一种是
insert into 表名(字段1, 字段2 ,字段3 ) values (值1.1,值1.2,值1.2) , ( 值2.1 , 值2.2,值2.3) , (值3.1,值3.2,值3.3);