DDL数据库的操作命令
create database 数据库名字;//创建数据库
drop database 数据库名字;//删除数据库
use database 数据库名字//使用某一个数据库
Create database test default character set gbk;
DDL数据库表格的操作命令
1.create
create table 名字(
列名 类型,
列名 类型,
列名 类型
);
CREATE TABLE `user` (
`User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
`Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`ssl_cipher` blob NOT NULL,
`max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
`authentication_string` text COLLATE utf8_bin,
PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Users and global privileges';
列属性的约束
- 自增 auto_increment
- 主键(复合主键)primary key 默认为非空 唯一primary key(stuid,carid)
- 外键 foreign key
constraint 约束名 foreign key (外键列名)references 被参考表名(被参考列)
constraint fk_t1 foreign key(fid) references t1(uid)
alter table tte add constraint ft foreign key(uid) references t3(id) - 索引 index
- 注释 comment
- Default
- 是否为空 null not null
- 唯一 unique
- 检查check
age int check(age between 18 and 25),
注意:先有主键,后有外键。主外键属性保持一致,主外键名不能重复。
自增和默认不能同时使用
mysql>show tables; 查看数据库中所有的表
mysql>desc 表名; describle
mysql>show create table 表名;
2.drop
drop table if exits employees;
删除表:
mysql>drop table 表名;//删除表结构及表中的数据
3.alter
alter table 表名 add 列名 类型;//增加一列
mysql>alter table student add address varchar(50);
alter table 表名 modify 列名 修改后的类型;//修改一列
mysql>alter table student modify address varchar(60);
alter table 表名 drop 列名;//删除一列
mysql>alter table student drop address;
alter table 表名 change 原列名 新列名 列类型;//为列重命名
mysql>alter table student change address addr;
alter table 表名 rename to 新表名;//为表重命名
alter table 表名 rename 新表名;//为表重命名
mysql>alter table student rename to stu;
alter table emp charset=gbk;修改整个表格的字符集
注意:在实际使用中,一般表建立之后,不会修改表中结构。
ALTER TABLE `emp`
MODIFY COLUMN `job` char(10) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL AFTER `ename`,
MODIFY COLUMN `deptno` int(11) NULL AUTO_INCREMENT AFTER `comm`,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`empno`, `deptno`);
4 .重点内容 show/ desc
1. 查看配置
show variable;
2.查看目前处理的列表;
show processlist;
3.看看有哪些存储过程
show procedure status;
4.查看表的创建
show create table t_your_table;
5.查看存储过程的创建
show create procedure p_your_procedure
6.查看所有支持的字符集
use information_schema;
select * from character_sets;
实际上很多信息在mysql和information_schema可以查到
7. 索引
show index from t_your_table;
8. 查看日志
show binary logs;
9. 查看状态
show status;
10. 查看表的信息
desc t_your_table;