从增山改查开始,增删改查都是从数据库,数据表,数据三个维度展开。
新增
新增数据库
CREATE DATABASE dbname;
新增表
CREATE TABLE table_name(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
-- 在列定义的后面可以加字段约束,设置主外键等
新增记录数据
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
第二种形式需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
注意:第一种方法省略了列名时需要插入的所有列都有值,第二种的插入的列和值是一一对应的,可以有缺失的列。
删除
删除数据库
DROP DATABASE database_name
删除表
删除表有两种操作:1.删除表和表中的数据
DROP TABLE table_name
2.删除表中的数据,保留表结构
TRUNCATE TABLE table_name
删除记录数据
DELETE FROM table_name
WHERE some_column=some_value;
修改
修改数据库
修改数据库的操作有点复杂,具体步骤:1.查看数据库的连接数 2.关闭所有数据库连接 3.将数据库改成单用户模式 4.修改数据库名 5.将修改后的数据库改成非单用户
select spid from master.dbo.sysprocesses where dbid=db_id('OldDbName')
-- 结果集中显示的是当前连接到数据库OldDbName的连接,比如结果是
79
81
-- 然后执行
kill 79
kill 81
-- 关闭已建立的连接,之后再执行
EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE'
-- 设置成单用户,防止修改名字时有其他用户在操作数据库造成死锁
EXEC sp_renamedb 'OldDbName', 'NewDbName'
EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'
修改表
-- 在表中添加列
ALTER TABLE table_name ADD column_name datatype
-- 删除表中的列
ALTER TABLE table_nameDROP COLUMN column_name
-- 修改列名
ALTER TABLE table_name RENAMW column_name TO new_column_name
-- 修改列数据类型
ALTER TABLE table_nameMODIFY COLUMN column_name datatype
修改记录数据
UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
注意:更新记录数据时一般要加上条件限制更新的行,不加条件限制会默认更新表中所有记录。
查询
查询数据库
show databases
查询表
-- 查看当前数据库下的所有表
show TABLES-- 查看表的结构
desc table_name
查询数据
-- 按列查找
SELECT column_name,column_name FROM table_name;-- 查找所有列,* 通配符表示所有
SELECT * FROM table_name
网友评论