SQL语法组成
• DML( Data Manipulation Language数据操作语言
查询、插入、删除和修改数据库中的数据; SELECT、INSERT、 UPDATE 、DELETE等;
• DCL( Data Control Language数据控制语言) ——用来控制存取许可、存取权限等;
——GRANT、REVOKE 等;
• DDL( Data Definition Language数据定义语言)
——用来建立数据库、数据库对象和定义其列 ——CREATE TABLE 、DROP TABLE、ALTER TABLE 等
• 功能函数 ——日期函数、数学函数、字符函数、系统函数等
可以添加BINARY关键字让 MySQL执行区分大小写的比较。
mysql
连接数据库
mysql -h host_name -u user_name –ppassword
导入数据库
mysql –u root –p --default-characterset=latin1 dbname < backup.sql
导出数据库
mysqldump –u root –p tmpdb > backuptmp.sql
创建数据库
mysqladmin –u root –p create newdb
删除数据库
mysqladmin –u root –p drop newdb
更改密码
mysqladmin –u root –p password “newpasswd”
数据库操作
创建数据库
create database 数据库名
删除数据库
drop database 数据库名
切换数据库
use 数据库名
查看当前操作数据库
select database()
查看所有的数据库
show database
临时更改字符集
set names 字符集 注:utf-8在数据库里是utf8
数据表的操作
创建表
create table 表名(字段名 数据类型(长度) [约束],……)
在创建表的时候添加外键foreign key(sid) references student(sid)
删除表
drop table 表名
查看所有表
show tables
查看表结构
desc table 表名
修改表的名称
rename table 表名 to 新表名
修改表的字符集
alter table 表名 character set 字符集
重建表
truncate 表名
对表内列修改的操作
添加列
alter table 表名 add 新字段名 类型(长度) [约束]
修改类型和约束
alter table 表名 modify 字段名 类型(长度)[约束]
修改表的列名
alter table 表名 change新字段名 类型(长度) [约束]
删除列
alter table 表名 drop 字段名
对表的记录操作
添加记录
insert into 表 (列名1,列名2,……)values(值1,值2)
更新记录
update 表名 set 字段值1=值,字段值2=值….where 条件
删除记录
delete from 表名 while 条件
对表类的数据查询
完整查询语句
select 字段 from 数据库while 条件group by分组字段having条件 order by asc|desc
多表的关系
添加外键
alter table 从表 add [constraint] [外键名称] foreign key [从表外键字段名] references 主表[主表中的主键] --外键名称主要用于差错和方便外键的删除
删除外键
alter table 表名 drop constraint 外键名
多表查询
交叉连接查询
select * from A,B
内连接查询(隐式)
select * from A,B while 条件
内连接查询(显式)
select * from A inner join B on 条件
外连接查询(左)
select * from A left outer join B on 条件
外连接查询(右)
select * from A right outer join B on 条件