第二章 数据库和表
2.1命令行方式创建数据库和表
2.1.1创建数据库
1,语法create {database|schema} {if no exists} db_name [create_specification[,create_specification....]..]
其中 create_specification;
[default] character set charset_name| [default] collate collation_name
说明:db_name指的是数据库的名称
if no exists 判断语句
character set 指定数据库的字符集(charaset),charaset_name为字符集的名称
collate 指定字符集的校队规则。
例,create database if not exists test1 character set gb2312 collate gb2312_chinese_ci;
数据库跳转
use db_name
2.修改数据库
语法 alter {database|schema} dbname alter_specification [,alter_specification]...
其中alter_specification:
default character set charset_name
default collate collation_name
说明:alter是用来修改数据库的全局配置,用户必须有相应的权限才可以做出修改。
例
alter database mydata
default character set gb2312
default collate gb_2312_chinese_ci;
3.删除数据库
语法 drop database [if exists] db_name;
2.1.2创建表
1,创建表
语法 create [temporary] table [if not exists] tb1_name [(column_definition],....|(index_definition)] [table_option] [select_statement];
说明:temporary 临时表关键字
column_definition: 列定义,包括列名,数据类型,可能还有一个空值声明和完整性约束。
index_definition 表索引项定义,主要定义表的索引,主键,外键等。
col_definition格式
col_name type [not null|null][default default_value][auto_iceremnt][unique]key[[primary key]
2.修改表
语法 alter [ignore] table tab_name
alter_specification[,alter_specification]...
alter_specification:
add [column] column_definition[first|after col_name] 添加列
alter [column] col_name {set default literal |drop default}
change [column] old_col_name column_definition [first|after] col_name]
|modify [column] column_definition [first|after colname]
3.修改表名
rename table tb1_name to new_tb1_name [tb1_name to new_tb1_name....]
4.复制表
语法 create [temporary] table [if not exists] tb1_name [() like old_tb1_name []]|as (select_statement)];
说明:like 关键字创建一个与old_tb_name表相同结构的新表,列名,数据类型等也将复制但是内容不回复制,因此创建的是一个空表,使用AS关键字可以复制内容,但是索引和完整性约束不会复制,select_statement是用一个表达式。
例,create table test_copy like test;
create table test_copy2 as (select * from test);
5.删除表
语法 drop [temporary] table [if exists] tb_name [,tb2_name]...
第三章 表数据操作
3.1命令行表数据操作
3.1.1 插入表数据
语法格式 insert [low_priority|delayed |high_priority][ignore]
[into] tb1_name [(col_name,....)] values ({expr |default}...),(.....),|set col_name={expr|default} [on duplicate key update col_name=expr,...]
3.1.2删除表数据
delete [low_priority][quick][ignore] from tb1_name
where where_definition
[order by..]
[limit row_count]
例,delete from table1 where 姓名='张三’;
2,是用truncate table 语句删除表数据
truncate table table_name 说明:truncate table 语句将会删除表中的所有数据,且无法恢复。
3.1.3修改表数据
要修改表中的一行数据,可以使用update语句,update可以用来修改一个表,也可以修改多个表
update [low_priority][ignore]tb_name set col_name1=expr1[,...col_name2=expr2..][where where_definition][order by..][limit row_count]
例,update xs
set xuehao='08125,biezhu='xuexi'
where xingming='luolin'
3.1.4show 和describe
1.show 语句
show tables;
show columns from database_name/ show columns from database_name.table_name;
show status;
show variables显示系统变量的名称和值
show processlist 显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户都可查看他们自己的进程,单数如果他们拥有process权限,就可以查看所有人的进程,包括密码。
show table status;显示当前使用或者指定的database中的每个表的信息,包括表的类型和表更新时间。
SHOW/erros/logs/warnings
2.describe语句
describe| desc tab_name [col_name|wild]
阅读(646) | 评论(0) | 转发(0) |