1,SELECT VERSION();查询当前版本号
SELECT USER(); 查询当前用户名
SELECT NOW(); 查询当前时间
SHOW COLUMNS FROM tb_name;查看表结构
SHOW CREATE TABLE tb_name;查看建表语句
SHOW INDEXES FROM tb_name\G;查看表的约束,并且以网格的形式展现
2,对数据库的操作( {}两者必须选择一个, []可选项 )
创建数据库:
CREATE {DATABASE | SCHEMA} [IF NOT EXITS] db_name
[DEFAULT] CHARACTRE SET [=] charset_name;
[IF NOT EXITS]的作用是如果存在相同的名字的数据库不会直接把错误信息抛给客户端。
查询有多少数据库:
SHOW {DATABASES | SCHEMAS}
[LIKE 'patter' WHERE expr];
修改数据库:
ALTER {DATABASE | SCHEMA} [db_name]
[DEFAULT] CHARACTRE SET [=] charset_name;
查看创建这个数据库的sql语句:
SHOW CREATE DATABASE sys;
删除数据库:
DROP {DATABASE | SCHEMA} [IF EXITS] db_name;
查看当前数据库:
SELECT DATABASE();
3,对数据表的操作
打开数据库
USE db_name;
创建表:
CREATE TABLE table_name(
column_name datatype,
......
);
unsigned代表符号位,如果表示数据为正数则不需要符号位,float(M,D)表示总的位数是8位,小数点后面是2位。
CREATE TABLE tb1(
username VARCHAR(20) NOT NULL KEY AUTO_INCREMENT,
salary FLOAT(8,2) UNSIGNED UNIQUE KEY,
sex VARCHAR(10) DEFAULT 'girl'
);
查看数据表:
SHOW TABLES;
查看数据表的结构:
SHOW COLUMNS FROM tb_name;
插入数据:
INSERT [INTO] table_name [(col_name.....)] VALUES (val......);
选择数据:
SELECT expr FROM tb_name;
AUTO_INCREMENT属性用来设置自增主键,默认情况下其实值为1,每次增加值为1.
添加外键约束:
create table users(
id smallint(6) primary key,
pid smallint(6),
foreign key(pid) references provinces(pid)
);
添加单列:
ALTER TABLE table_name ADD [COLUMN] col_name column_definition
[FIRST | AFTER ] column_name;
添加多列:
ALTER TABLE table_name ADD [COLUMN]
(col_name,column_definition,...)
删除单列:
ALTER TABLE table_name DROP col_name;
添加主键约束(用了CONSTRAINT还可以为CONSTRAINT起名字):
ALTER TABLE table_name ADD [CONSTRAINT[symbol]]
PRIMARY KEY [index_type] (index_col_name);
ALTER TABLE users ADD CONSTRAINT user_primary_key_username
PRIMARY KEY('username');
添加外键约束:
ALTER TABLE table_name ADD [CONSTRAINT[symbol]]
FOREIGH KEY index_type REFERENCES table_name2(index_col_name);
添加或删除默认约束:
ALTER TABLE table_name ALTER [COLUMN] col_name
{SET DEFAULT value |DROP DEFAULT};
删除主键约束:
ALTER TABLE table_name DROP PRIMARY KEY;
查看约束名字以网格的形式出现(users是表名字):
SHOW INDEXES FROM users\G;
删除唯一约束(index_name为约束的名字):
ALTER TABLE table_name DROP {INDEX|KEY} index_name;
删除外键约束(知道外键约束的名字):
ALTER TABLE table_name DROP FOREIGN KEY fk_symbol;
改变列位置,添加外键约束,添加非空约束,删除非空约束都是通过修改列定义完成的。
ALTER TABLE tb_name MODIFY col_name col_definition [FIRST|AFTER col_name]
修改列名称(同时可修改列定义):
ALTER TABLE tb_name CHANGE col_name col_new_name col_definition [FIRST|AFTER col_name2];
修改表的名字:
ALTER TABLE tb_name RENAME [TO|AS] new_table_name;
删除表:
DROP TABLE tb_name;
网友评论