mysql
创建指定的数据库
CREATE DATABASE 数据库的名字 charset = 'utf8';
查看创建好的数据库;
show create database + 数据库的名字;
创建好表以后可以查看表的内容:
SHOW TABLES ;
插入数据
INSERT INTO students values('','','','','')
查看插入的内容
SELECT * FROM + 表名
SHOW CREATE TABLE students;
DESC students;
删除数据库
1.删除数据库的语法: DROP DATABESE + 文件名
2.查看当前存在的数据库: SHOW CREATE DATABESE + 文件名;
3.当你不再需要该表时, 用 drop;当你仍要保留该表,但要删除所有记录时, 用 truncate;当你要删除部分记录时(always with a WHERE clause), 用 delete.
ALTER
修改表的名字
ALTER TABLE + 旧表名 + RENAME(关键词) + 新表名;
修改表的数据类型
ALTER TABLE + 表名 + MODIFY + 字段名 + 数据类型;
将表里的某个字段移动到某个字段之后
ALTER TABLE + 数据库的名字 + MODIFY +将要移动的 字段 名+ 数据类型(例如 varchar) + AFTER + 字段名;
修改表内某个字段的名字
ALTER TABLE + 表的名字 CHANGE + 旧字段名 + 新字段名 + 新字段的数据类型;
新数据类型可以不修改,可以将'新数据类型' 继续写成 原来的字段数据类型
修改某个表内的字段的数据类型 非空类型
ALTER TABLE +表名 MODIFY + 字段名 数据名(字段名是新的修改后的字段名)+ NOT NULL;
删除某个字段
ALTER TABLE + 数据库的名字 + DROP + 字段名;
增加字段
ALTER TABLE + 数据库的名字 ADD + 新字段名 + 新字段的数据类型;
将字段修改到第一位
ALTER TABLE + 数据库的名字 MODIFY + 字段名 + 字段数据属性 + FIRST;
删除表的外键约束
ALTER TABLE + 表名 +DROP FOREIGN KEY + 外键名;
删除外键前 先找的表的外键 用语法; SHOW CREATE TABLE + 表的名 \G;
从某个表里挑选搜索某个内容
SELECT +字段 + from + 表的名字 where + 需要寻找的内容 (字段);
(可以是多个字段中间必须用 , 逗号隔开 )
举例:select name from students where age = 21 找年龄为21的名字的
搜索表里某个字段的某个内容
SELECT + 字段 + FROM + 表名 + WHERE + 需要搜索的内容(字段) + LIKE + 具体要求;
字段是可以写多个,中间不必须用 ,逗号隔开
举例;SELECT name,sex,age FROM STU WHERE name LIKE '%奇%';
SELECT
查找单个列 SELECT name FROM badboy;
语法;SELECT + 字段名 + FROM + 表名;
结束SQL语句,多条SQL语句必须以分号(;)分隔 关键字大写,所有列和表名使用小写
查找多个列 SELECT name,age,id FROM badboy; 语法;SELECT + 字段 + from + 表名;
字段可以是多个字段(字段之间必须用 ,逗号隔开)
SELECCT + concat (name,id) FROM badboy; 两个字符段在一格中出现 concat相当于join
查看所有列 SELECT * from 表名;
通配符 除非确实需要表中的每个列,否则最好别使用*通配符,检索不需要的列通常会降低检索和应用程序的性能
查看不同的行
SELECT distinct age FROM badboy;
去重 order by age
排序 order by age desc
降序排序 descend
降序(desc) ascend升序(asc)
默认的情况是升序
限制结果limit SELECT * FROM badboy LIMIT 5;
显示表中的5行 . *limit 显示几行 5,5从行5开始的5行 除去语法内要求的5行 . 从第 6 行开始
limit 4 offset 3 .从行3开始取4行 = limit 3,4
使用完全限定的表名
SELECT badboy.name FROM stu_220.badboy;
查看表内(badboy)的某个字段(name) 从某个数据库(stu_220)的某个表(badboy)
ORDER BY 排序
order by SELECT name,age FROM students ORDER BY age asc(desc)
顺序查看表内的某个字段(可以多字段) oRDER BY(排序)根据某个字段来排序 根据年龄进行升序(降序)排列
where 子句 应该让order by位于where子句之后,否则会出错 <>不等于 !=不等于
SELECT name,age,birthday FROM students where sex='女' AND age >25 ORDER BY birthday desc;
查找某个字段(可以是多字段)
从某个表 从(WHERE) 更进一步确定条件(某个要求) 通过某个字段排序(ORDER BY)升序(desc)还是降序(asc)
between语句
select name,age from students where age between 18 and 20;
18到20岁之间的同学
SELECT name,age FROM students WHERE initial rgexp '^[a-f]';
组合where子句
and操作 select name,age,place from students where age < 20 and place like '山西%';
or操作 select name from students where age=19 or age=20 or age=21;
or 和 and 一起出现需要加圆括号来消除歧义 select name,age form students where age in (18,19); select name,age form students where age between 18 and 19; select name,age form students where age>=18 and age <=19; in操作符一般比or操作符清单执行更快 in的做大优点是可以包含其他select语句,使得能够更动态地建立where语句