CREATE TABLE student(
id(主键) bigint,
stu_name varchar(50),
stu_age int
);
添加一列
ALTER TABLE student ADD stu_gender varchar(2);
修改一个表的字段类型
ALTER TABLE student MODIFY stu_name VARCHAR(10)
查看表的字段信息
DESC student
修改表名
RENAME TABLE student TO newstu;
修改表的字符集
ALTER TABLE 表名 CHARACTER SET 字符集名称;
修改表的列名
ALTER TABLE 表名 CHANGE 原始列名 新列名 数据类型;
查看表的创建细节
SHOW CREATE TABLE 表名;
删除一列
ALTER TABLE 表名 drop 字段名
删除表
drop TABLE 表名
什么是SQL
SQL是Strucred Query Language(结构化查询语言)的缩写
SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言
在使用它时,只需发出"做什么"的命令,"怎么做"是不用我们考虑的
sql功能分类
DDL:数据定义语言:用来定义数据库对象
* 创建库,表,列等
DML:数据操作语言:用来操作数据库表中的记录
DQL:数据查询语言:用来查询数据
DCL:数据控制语言:用来定义访问权限和安全级别
SQL数据类型
Mysql中定义数据字段的类型对你数据库的优化是非常重要的
Mysql支持所有标准SQL数值数据类型
Mysql支持多种类型,大致分为三种: 数值类型 字符串类型 日期和时间类型
DML
查询表中所有数据
SELECT * FROM student
插入操作:INSERT INTO 表名(列名,列名2…) VALUE(列值1,列值2…)
INSERT INTO student(id,stu_name,stu_age) VALUE(3,'le',25);
INSERT INTO student(id,stu_name,stu_age) VALUES(3,'le',25),(4,'le',25),(5,'le',25);(插入多个数据)
INSERT INTO student VALUE(3,'le',25);(不写列名表示插入全部的,不能少属性)
更新语句:UPDATE 表名 SET 列名=列值,列名2=列值2… WHERE 列名=值
UPDATE student SET set_count=90;
UPDATE student SET stu_count=100 WHERE stu_name='xuan';
UPDATE student SET stu_count=100,stu_age=18 WHERE stu_name='xuan';
修改数据库密码
mysql8之前
use mysql
update mysql.user set authentication_string=password('123456') where user='root' and host='localhost'
flush privileges;刷新mysql的系统权限相关表
mysql 8
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
先关掉系统服务
用mysqld --console --skip-grant-tables --shared-memory可以无密码启动服务
服务启动后,以空密码登入系统
mysql.exe -u root
然后执行sql命令将root用户密码设置为空
UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
或者修改登陆密码也是可以的
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';