mysql

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语句

推荐阅读更多精彩内容