命令符

2018-09-07  本文已影响0人  风雨声豪入梦中

常见数据类型:
4.1 double浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
4.2 char固定长度字符串类型;char(10)'abc '
4.3 varchar可变长度字符串类型;varchar(10)'abc'
4.4 text字符串类型4.5 blob二进制类型
4.6 date提起类型,格式为:yyyy-MM-dd;
4.7 time时间类型,格式为:hh:mm:ss;
4.8 datetime日期时间类型,格式为:yyyy-MM-dd hh:mm:ss5. 在MySQL中,字符串类型和日期类型都要用单引号括起来。'Myname' '2018-01-01'。

创建数据库create database 数据库名 character set utf8;或者create database 数据库名 charset=utf8;

使用(切换)数据库use 数据库名

建表命令;
CREATE TABLE 表名(
列名1 列名类型 [约束],
列名2 列名类型 [约束],
.....
列名N 类的类型 [约束]
)

定义学生表:
id name age email
CREATE TABLE students(
id bigint,
name varchar(20),
email varchar(20),
age int
);

添加一列(本来我已经有4个字段,又想添加一个新的字段)
ALTER TABLE 表名 ADD 列名 数据类型;

查看表的字段信息
desc 表名。

修改一个表的字段类型
ALTER TABLE 表名 MODIFY 字段名 数据类型;

删除一列

添加一列ALTER TABLE students ADD nums varchar(10);

删除一列ALTER TABLE students drop nums;

修改表名
RENAME TABLE 原始表名 TO 要修改的表名;

查看表的创建细节
SHOW CREATE TABLE 表名;

修改表的字符集gbk
ALTER TABLE students character set gbk;

修改表的列名
ALTER TABLE students change name newname varchar(20);

删除表
DROP TABLE 表名;

查询表中的所有数据
SELETE * FROM 表名;

插入操作:
INSERT INTO 表名 ( 列名1,列名2 ) VALUES (列值1, 列值2...);

VALUES后面以逗号隔开

INSERT INTO 表名(列名1,列名2....) VALUES(列值1,列值2),(列值1,列值2)....;

更新操作
UPDATE 表名 SET 列名1=列值1, 列名2=列值2... WHERE 列名=值
把所有学生的分数改为90
UPDATE students SET score=90;
把姓名为zs的学生分数修改为60
UPDATE students SET score=60 WHERE name='zs';
把姓名为lisi的年龄修改为20和分数修改为70
UPDATE students SET age=30,score=70 WHERE name='lisi';
把wangwu的年龄在原来基础上+1岁
UPDATE students SET age=age+1 WHERE name='wangwu'

修改数据库密码步骤:
mysqladmin -u root -p password 123456

删除操作# 如果不加过滤条件就是删除所有数据
DELETE FROM 表名 [WHERE 列名=值]

删除所有数据

TRUNCATE TABLE 表名;

查询所有列
SELECT * FROM 表名;

查询指定的列
SELECT 列名1,列名2 FROM 表名;

条件查询

查询性别为男,并且年龄为20的学生记录# 添加性别字段
ALTER table students add gender varchar(2);

查询

SELECT * FROM students WHERE gender='男' AND age=20;
查询学号为1001 或者 名为 zs 的记录
SELECT * FROM students WHERE id=1001 OR name='zs';
查询学号为1001 , 1002 ,1003的记录
SELECT * FROM students WHERE id = 1001 OR id = 1002 OR id = 1003;
SELECT * FROM students WHERE id in (1001,1002,1003);
查询年龄为null的记录
SELECT * FROM students WHERE age IS NULL;
查询年龄在18-20之间的学生记录
SELECT * FROM students WHERE age>= 18 AND age<=20;
SELECT * FROM students WHERE age BETWEEN 18 AND 20;
查询性别非男的学生记录
SELECT * FROM students WHERE gender != '男';
查询姓名不为null的学生记录
SELECT * FROM students WHERE name IS NOT NULL;

模糊查询

查询姓名由5个字母构成的学生记录可以事先自己添加好各种数据# 5个字母就是5个下划线
SELECT * FROM students WHERE name LIKE '_____';

查询姓名由5个字母构成,并且第5个字母为's'的学生记录
SELECT * FROM students WHERE name LIKE '____s';

查询姓名以'm'开头的学生记录
SELECT * FROM students WHERE name LIKE 'm%';

查询姓名中第二个字母为'u'的学生记录
SELECT * FROM students WHERE name LIKE '_u%';

查询姓名中包含's'字母的学生记录SELECT * FROM students WHERE name LIKE '%s%';

mysql -uroot -p;
进入数据库
SHOW DATABASES;
查看库

DROP DATABASE 库名 ;
删除数据库

USE 数据库;
使用(切换)数据库

SELECT * FROM 表名;
查看表里面的内容

SHOW CREATE TABLE 表名;
查看表的创建细节

CREATE TABLE 表名;
往表里添加内容

DESC 表名;
查看表的结构

CREATE TABLE 表名(
列名1 列名类型 [约束],
列名2 列名类型 [约束],
.....
列名N 类的类型 [约束]
);
建立表格的框架

UPDATE 表名 SET 列名1=列值1, 列名2=列值2... WHERE 列名=值
更新并修改指定条件

SELECT * FROM students WHERE name LIKE 'm%';
查询姓名以'm'开头的学生记录

查询性别为男,并且年龄为20的学生记录# 添加性别字段
ALTER table students add gender varchar(2);

查询

SELECT * FROM students WHERE gender='男' AND age=20;

上一篇 下一篇

猜你喜欢

热点阅读