【Mysql】SQL语句学习

一些重要的SQL 命令

CREATE DATABASE - 创建新数据库
CREATE TABLE - 创建新表
ALTER DATABASE - 修改数据库
ALTER TABLE - 变更(改变)数据库表
SELECT - 从数据库中提取数据
UPDATE - 更新数据库中的数据
DELETE - 从数据库中删除数据
INSERT INTO - 向数据库中插入新数据
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。
SQL 语句可以单行或多行书写,以分号结尾。
注释:单行注释: – 注释内容 或 #注释内容(MySQL 特有) ;多行注释: /* 注释 */

SQL语句分类 :

  • DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等。

  • DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)。

  • DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。

  • DQL(Data Query Language):数据查询语言,用来查询记录(数据)。

数据库

1. 查看现有数据库

SHOW DATABASES;

2. 新建数据库

CREATE DATABASE <数据库名>;

CREATE DATABASE IF NOT EXISTS 数据库名称;创建数据库(判断,如果不存在则创建)

3. 选择数据库

USE <数据库名>;

4. 从.sql文件引入SQL语句

SOURCE <.sql文件路径>;

5. 删除数据库

DROP DATABASE <数据库名>;

1. 查询表

查询当前数据库下所有表名称
SHOW TABLES;
查询表结构
DESC 表名称;

2.创建表

CREATE TABLE 表名 (
	字段名1  数据类型1,
	字段名2  数据类型2,
	…
	字段名n  数据类型n
);
举个例子:
create table tb_user (
	id int,
    username varchar(20),
    password varchar(32)
);

注意:最后一行末尾,不能加逗号

3.删除表

删除表
DROP TABLE 表名;
删除表时判断表是否存在
DROP TABLE IF EXISTS 表名;

4.修改表

修改表名
ALTER TABLE 表名 RENAME TO 新的表名;

-- 将表名student修改为stu
alter table student rename to stu;

添加一列
ALTER TABLE 表名 ADD 列名 数据类型;

-- 给stu表添加一列address,该字段类型是varchar(50)
alter table stu add address varchar(50);

修改数据类型
ALTER TABLE 表名 MODIFY 列名 新数据类型;

-- 将stu表中的address字段的类型改为 char(50)
alter table stu modify address char(50);

修改列名和数据类型
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

-- 将stu表中的address字段名改为 addr,类型改为varchar(50)
alter table stu change address addr varchar(50);

删除列
ALTER TABLE 表名 DROP 列名;

-- 将stu表中的addr字段 删除
alter table stu drop addr;

数据操作语言

1.添加数据

给指定列添加数据
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);

给全部列添加数据
INSERT INTO 表名 VALUES(值1,值2,…);

批量添加数据
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;
INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;

2.修改数据

修改表数据
UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;

update stu set sex = '女' where name = '张三';

3.删除数据

删除数据
DELETE FROM 表名 [WHERE 条件] ;
-- 删除张三记录
delete from stu where name = '张三';

常见SQL语句

查询前10条数据
select * from 表名 order by id(主键)limit 10
查询第11条到第15条数据
select * from 表名 limit 10,5
查询表中的各个字段信息
select * from all_tab_columns where table_name='CS_CSSCODEDEF_DICT';
show databases;  #显示当前所有的数据库
​alter database test1222 character set utf8;  #修改当前数据库的字符编码为utf8
drop table table_name;  #删除某个表;
​show tables;  #显示当前的库中所有的数据表;
​desc student;  #查看数据表student中的所有字段;
​alter table student add company varchar(50); #为student表增加一个字段;
​
#一次添加多条数据:
insert into student(id,`name`,age,address) values (4,'曹操',27,'北京海淀'),(5,'周瑜',28,'北京朝阳'),(6,'赵云',30,'北京大兴');
​
update student set age=24,address="河北保定" where id=1;  #更新某条数据
​
update student set age=age+5;  #将所有的年龄都加5岁;
​
# ---------------------------------
​
delete from student where `name`="zhangsan";   #删除表中的某个字段;
 #对比:
drop table table_name;  #删除某个表;

其他命令

进入mysql管理命令行的命令?
​Mysql -uroot -p 回车 密码
​
showdatabases; 
​显示当前 mysql 服务器中有哪些数据库
​
show  create database  mysql;  
​显示创建数据库的 sql 语句
​
show  create table  user; 
​显示创建表的 sql 语句
​
desc user; 
​查询 user 表的结构
​
explain select *   from  user;
​获取 select 相关信息
​
show processlist;
​显示哪些线程正在运行
​
SHOW VARIABLES;
​显示系统变量和值
​
SHOW  VARIABLES like  ’ %conn% ’ 
​显示系统变量名包含 conn 的值
​
LEFT  JOIN

​SELECT A.id,A.class FROM A LEFT JOIN B ONA.cid=B.id

猜你喜欢

转载自blog.csdn.net/m0_62975468/article/details/126312843